Memory devices can include internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), and flash memory.
Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, and cellular telephones. Program code and system data such as a basic input/output system (BIOS) are typically stored in flash memory devices for use in personal computer systems.
A typical read operation, also referred to as a sense operation, comprises grounding the source line of the memory block to be read, precharging the memory block data lines (e.g., bit lines), and biasing the access lines (e.g., word lines) in order to turn on all of the word lines except the word line to be read. A read voltage is then applied to the word line to be read and the select gates of alternate bit lines are turned on. If the bit line becomes discharged, the threshold voltage of the cell being read is less than the word line voltage. In this case, the cell is erased and is in a logical 1 state. If the bit line remains precharged, the threshold voltage of the cell being read is greater than the word line voltage that was applied to the word line being read. In this case, the memory cell is programmed and is in a logical 0 state.
A single level cell (SLC) non-volatile memory device has only two levels of threshold voltages to be programmed: a programmed state (i.e. logical 0) and an erased state (i.e., logical 1). A two bit multilevel cell (MLC) non-volatile memory device has four levels of threshold voltages: a logical 11 for an erased state and logical 00, 01, 10 for programmed states. The state of the MLC cell is determined using multiple SLC-like read operations to determine to which of the four levels of threshold voltages the cell being read belongs.
MLC devices can also have more than two bits of data stored requiring more than four different threshold voltage levels. As the number of levels stored on a cell increases, the number of read operations necessary to determine the data stored also increases. Increasing the number of read operations thus increases the overall read time for each cell and decreases the memory's performance.
There is a similar problem in programming MLC devices. A row of memory cells comprises multiple logical interleaved pages of memory cells. Each page is typically programmed separately. Thus, programming multiple states into multiple pages of each row can be a time consuming operation.
As the performance of computer systems increases, the non-volatile memory manufacturers are under pressure to increase their memory performance in order to keep from becoming performance bottlenecks in computer systems. Additionally, non-volatile memory manufacturers are attempting to market their memories as solid state drives, thus requiring increasing program and read performance.
For the reasons stated above, and for other reasons stated below that will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art to increase memory program and sense operation performance.